/*
 * @Author: Wangjun
 * @Date: 2023-08-25 19:03:29
 * @LastEditTime: 2023-12-16 16:46:53
 * @LastEditors: wangjun haodreams@163.com
 * @Description:
 * @FilePath: \nodex\func.go
 * hnxr
 */
package nodex

import "errors"

//>
func GT(x, y float64) bool {
	return x > y
}

//>=
func GE(x, y float64) bool {
	return x >= y
}

//<
func LT(x, y float64) bool {
	return x < y
}

//<=
func LE(x, y float64) bool {
	return x <= y
}

//==
func EQ(x, y float64) bool {
	return x == y
}

//!= NE
func NE(x, y float64) bool {
	return x != y
}

type FuncCmp func(x, y float64) bool

//0:> 1>= 2 < 3:<= 4== 5 !=
func GetFuncCmp(n Noder, mode int) (f FuncCmp, err error) {
	switch mode {
	case 0:
		f = GT
	case 1:
		f = GE
	case 2:
		f = LT
	case 3:
		f = LE
	case 4:
		f = EQ
	case 5:
		f = NE
	default:
		err = errors.New(n.GetName() + ":模式M设置错误")
	}
	return
}
